package com.inlycat.mapper;

import java.util.List;

import com.inlycat.entity.User;

/**
 * @author jarvan4dev@163.com
 * @since 2015年8月13日下午12:42:26
 * @category 用户mapper接口
 **/
public interface UserMapper {
	
	/**
	 * 插入用户
	 * @param user 用户
	 * @return 插入的用户的ID
	 */
	boolean insert(User user) throws RuntimeException;
	
	/**
	 * 更新非空字段
	 * @param user 用户
	 * @return 受影响行数
	 */
	int updateSelective(User user) throws RuntimeException;
	
	/**
	 * 修改密码
	 * @param user
	 * @return
	 * @throws RuntimeException
	 */
	int changePwd(User user) throws RuntimeException;
	
	/**
	 * 根据Id查询用户
	 * @param id
	 * @return
	 */
	User selectById(Long id) throws RuntimeException;
	
	/**
	 * 根据username查询
	 * @param username
	 * @return
	 */
	User selectByUsername(String username) throws RuntimeException;

	/**
	 * 根据User类不为null的字段进行查询,条件全部使用=号and条件
	 * 查询出某一页对象
	 * @return
	 */
	List<User> select(User user) throws RuntimeException;
	
}
